12. Sa se implementeze un proiect care sa permita unui student sa isi completeze detaliile unui portofoliu de practica. Se vor analiza fisierul portofoliu docx. Peste tot unde in fisier exista texte scrise cu rosu se va modela un camp de tipul valorii care se potriveste acolo. De exemplu: - daca avem de modelat numele unei companii atunci vom folosi o variabila de tip string; - daca modelam numarul de credite pentru disciplina de practica atunci vom folosi o variabila de tip intreg. La fiecare punct al portofoliului vom avea cate un camp de tip string pe mai multe linii in care se vor putea introduce paragrafe. Textele completate cu rosu sunt doar exemple de completare, studentul fiind liber sa scrie ce considera in acele campuri. Pentru a avea un design cat mai apropiat de realitate este recomandat sa modelati clase separate pentru concepte precum: - student practicant - tutore - cadru didactic supervizor - competenta - lista de competente - portofoliu (clasa care va agrega clasele anterioare) - colectia de portofolii Se vor modela absolut toate datele/campurile ce trebuie completate de un student in portofoliul de practica. Aplicatia va permite urmatoarele operatii: - incarcarea unei liste de campuri de portofolii in format CSV de pe disc in memorie - crearea unui portofoliu nou si inserarea lui in colectie - editarea unui portofoliu pe baza de id-ului (indexului) acesteia - listarea tuturor portofoliilor pe ecran prin nume student si companie - salvarea campurilor tuturor portofoliilor in format CSV intr-un fisier de tip text - generarea unui fisier docx cu tot continutul portofoliului unui student pe baza unui id - generarea portofoliilor tuturor studentilor din lista in fisiere cu nume "nume prenume - companie - portofoliu.docx" Pentru a genera fișiere .docx într-o aplicație de consolă C#, poți folosi librăria DocX, care oferă o metodă simplă de a crea și modifica documente Word. 1. Instalează DocX În Visual Studio, deschide Package Manager Console și rulează comanda: Install-Package DocX Alternativ, poți adăuga pachetul din NuGet Package Manager căutând DocX. 2. Exemple de cod pentru Generarea unui Fisier .docx După ce ai instalat DocX, folosește următorul exemplu de cod pentru a crea un document Word simplu. using System; using Xceed.Words.NET; class Program { static void Main(string[] args) { // Specifică calea unde vrei să salvezi fișierul generat string filePath = @"C:\calea\catre\document_generat.docx"; // Creează un document nou using (var document = DocX.Create(filePath)) { // Adaugă un titlu document.InsertParagraph("Titlul Documentului") .FontSize(18) .Bold() .Alignment = Alignment.center; // Adaugă un paragraf simplu document.InsertParagraph("Acesta este un paragraf de text în documentul generat.") .FontSize(12) .SpacingAfter(20); // Spațiu după paragraful curent // Adaugă un alt paragraf cu formatare diferită document.InsertParagraph("Paragraf cu text italic și subliniat.") .Italic() .UnderlineStyle(UnderlineStyle.singleLine); // Adaugă o listă numerotată var lista = document.AddList("Primul element", 0, ListItemType.Numbered); document.AddListItem(lista, "Al doilea element"); document.AddListItem(lista, "Al treilea element"); document.InsertList(lista); // Salvează documentul document.Save(); } Console.WriteLine("Documentul a fost creat cu succes la " + filePath); } } Crearea Documentului: DocX.Create(filePath) creează un fișier .docx la calea specificată. Adăugarea unui Titlu: InsertParagraph permite adăugarea de text, iar metodele FontSize, Bold, și Alignment adaugă stiluri și alinieri. Adăugarea Paragrafelor: InsertParagraph poate fi folosit pentru a adăuga mai multe paragrafe și pentru a specifica stiluri ca Italic, UnderlineStyle, etc. Adăugarea unei Liste: AddList creează o listă numerotată sau cu puncte. Elementele listei sunt adăugate cu AddListItem, iar lista finală este inserată în document cu InsertList. Salvarea Documentului: document.Save() finalizează și salvează documentul. Observații DocX este foarte flexibil pentru formatare, astfel poți adăuga stiluri de titlu, modificări de font, aliniere, sublinieri și altele. Eliberarea resurselor: Folosind using, fișierul este automat salvat și resursele eliberate. Acest cod generează un fișier .docx care conține un titlu, câteva paragrafe, și o listă numerotată, și afișează un mesaj de confirmare în consolă.